package org.szy.plugin.sys.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import org.szy.core.common.page.QueryPage;
import org.szy.core.common.service.BaseService;
import org.szy.core.common.param.CommonStatusParam;
import org.szy.plugin.sys.entity.SysApp;
import org.szy.plugin.sys.param.SysAppQueryParam;

import java.io.Serializable;
import java.util.List;

/**
 * 系统应用Service接口
 *
 * @author wangbuhao
 * @since 2023-06-21 17:04:20
 **/
public interface SysAppService extends BaseService<SysApp> {

    /**
     * 获取系统应用查询Wrapper
     *
     * @author wangbuhao
     * @since 2023-06-21 17:04:20
     */
    QueryWrapper qwByQuery(SysAppQueryParam param);

    /**
     * 获取系统应用分页
     *
     * @author wangbuhao
     * @since 2023-06-21 17:04:20
     */
    Page<SysApp> page(QueryPage<SysApp> page, SysAppQueryParam param);

    /**
     * 获取系统应用列表
     * @param param 查询参数
     * @return 应用列表
     */
    List<SysApp> list(SysAppQueryParam param);

    /**
     * 添加系统应用
     * @param entity 系统应用对象
     * @return  操作结果
     */
    boolean add(SysApp entity);

    /**
     * 修改系统应用状态
     * @param param 状态参数
     * @return  是否成功
     */
    boolean modifyStatus(CommonStatusParam param);

    boolean modifyActive(CommonStatusParam param);
}
